package alp.starcode.sanping.framework.database.mariadb.mybatis.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * course(课程表)
 * </p>
 *
 * @author Clxini
 * @since 2024-01-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("course")
public class Course implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 课程流水号
     */
    @TableId(value = "course_id", type = IdType.INPUT)
    private String courseId;

    /**
     * 班次流水号
     */
    private String classId;

    /**
     * 教学目标
     */
    private String teachTarget;

    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 父级课程
     */
    private String parentId;

    /**
     * 是否预备课程
     */
    private Boolean isPre;

    /**
     * 课程状态
     */
    private String courseStatus;

    /**
     * 主讲老师班次用户流水号
     */
    private String classUserId;

    /**
     * 上课地点
     */
    private String courseAddress;

    /**
     * 负责单位
     */
    private String courseDepartment;

    /**
     * 开始日期
     */
    private String startDate;

    /**
     * 开始时间
     */
    private Long startTime;

    /**
     * 结束时间
     */
    private Long endTime;

    /**
     * 是否删除:0未删除、1已删除
     */
    private Boolean isDeleted;

    /**
     * 是否开启评价:0关闭、1开启
     */
    private Boolean isEvaluation;

    /**
     * 创建用户Id
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserId;

    /**
     * 创建用户名称
     */
    @TableField(fill = FieldFill.INSERT)
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    /**
     * 修改用户Id
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserId;

    /**
     * 修改用户名称
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateUserName;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;


}
